#include "configLogic.h"
/*
typedef struct THData
{
	u8 state;
	u8 tempMax;
	u8 humiMax;
	u16 smokeMax;
	u16 sunshineMax;
} THData;
*/

void setState(u8 state);
void setTempMax(u8 tempMax);
void setHumiMax(u8 humiMax);
void setSmokeMax(u8 smokeMax);
void setSunshineMax(u8 sunshineMax);

u8 getState();
u8 getTempMax();
u8 getHumiMax();
u8 getSmokeMax();
u8 getSunshineMax();

void saveThData(THData data);

//做配置类逻辑
void configThLogic(char *msg)
{
    //1.解析消息位一个THData结构体
    THData thdata;
    parseMsgData(&thdata,msg);
    //2.设置到执行模块中
    setThdata(thdata);
    //3.把数据存储在EEPROM中
    saveThData(thdata);
}
//做网络类型配置的逻辑
void configNetworkLogic(char *msg){


}
//把数据存储进eeprom的执行函数
void saveThData(THData data){
    //做检查
    if(AT24CXX_Check()) return;

    setState(data.state);
    setTempMax(data.tempMax);
    setHumiMax(data.humiMax);
    setSmokeMax(data.smokeMax);
    setSunshineMax(data.sunshineMax);
}
int loadThdata(THData *data){
    //做检查
    if(AT24CXX_Check()) return 0;
    data->state= getState();
    data->tempMax= getTempMax();
    data->humiMax= getHumiMax();
    data->smokeMax= getSmokeMax();
    data->sunshineMax= getSunshineMax();
    return 1;
}




void setState(u8 state){
    AT24CXX_WriteOneByte(0,state);
}
void setTempMax(u8 tempMax){
    AT24CXX_WriteOneByte(1,tempMax);
}
void setHumiMax(u8 humiMax){
    AT24CXX_WriteOneByte(2,humiMax);
}
void setSmokeMax(u8 smokeMax){
    AT24CXX_WriteOneByte(3,smokeMax);
}
void setSunshineMax(u8 sunshineMax){
   AT24CXX_WriteOneByte(4,sunshineMax); 
}

u8 getState(){
    return AT24CXX_ReadOneByte(0);
}
u8 getTempMax(){
     return AT24CXX_ReadOneByte(1);
     
}
u8 getHumiMax(){
    return AT24CXX_ReadOneByte(2);
}
u8 getSmokeMax(){
    return AT24CXX_ReadOneByte(3);
}
u8 getSunshineMax(){
    return AT24CXX_ReadOneByte(4);
}